package eg.ci.mvn.service.api.model.param;


import eg.ci.mvn.service.api.model.BaseDTO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@Schema(description =  "ParkingParam参数")
@Builder
public class ParkingParam {


    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    @Schema(description = "ParkingSignalParam-道闸输入参数")
    public static class ParkingSignalParam extends BaseDTO {
        @Schema(description = "道闸编号", example = "4201030000010101")
        private String gateNo;
        @Schema(description = "车牌号", example = "鄂AEE102")
        private String carPlateNo;
        @Schema(description = "车牌颜色", example = "1")
        private String carPlateColor;
        @Schema(description = "时间戳 yyyyMMddHHmmss", example = "20220422030000")
        private String time;
    }

    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    @Schema(description = "ParkingPayParam-支付渠道输入参数")
    public static class ParkingPayParam extends BaseDTO {
        // ====================================================================================
        // 车主
        // ====================================================================================
        @Schema(description = "车牌号", example = "鄂AEE102")
        private String carPlateNo;
        @Schema(description = "车牌颜色", example = "1")
        private String carPlateColor;

        // ====================================================================================
        // 支付渠道信息
        // ====================================================================================
        @Schema(description = "渠道订单号", example = "4200002089202401221125493944")
        private String channelOrderNo;
        @Schema(description = "渠道类型", example = "wxpay")
        private String channelType;
        // ====================================================================================
        // 支付金额信息
        // ====================================================================================
        @Schema(description = "支付金额 单位分", example = "300")
        private Integer paymentAmt;
        @Schema(description = "优惠金额 单位分", example = "300")
        private Integer couponAmt;
    }

    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    @Schema(description = "ParkingQueryGateParam-车辆查询参数")
    public static class ParkingQueryGateParam extends BaseDTO {
        @Schema(description = "道闸编号", example = "4201030000010101")
        private String gateNo;
    }

    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    @Schema(description = "ParkingQueryCarParam-车辆查询参数")
    public static class ParkingQueryCarParam extends BaseDTO {
        @Schema(description = "车牌号", example = "鄂AEE102")
        private String carPlateNo;
        @Schema(description = "车牌颜色", example = "1")
        private String carPlateColor;
    }



}
